#ifndef QUEUE_H
#define QUEUE_H
#include "../../tools/headers/common.h"

#define QUEUE_ERROR 0xFF

typedef struct
{
	u8int* array;
	u32int head;
	u32int tail;
	u32int size;
	u32int count;
} queue_type;

queue_type* create_queue(u32int size);
void destroy_queue(queue_type* queue);
void enqueue(u8int element, queue_type* queue);
u8int dequeue(queue_type* queue);
BOOL queue_is_empty(queue_type* queue);
u32int queue_get_element_n(queue_type* queue);
void clear_queue(queue_type* queue);

#endif